package com.welson.db.cryptor.strategy;

/**
 * 加解密策略接口
 * @author welson
 */
public interface CryptStrategy {
    /**
     * 加密
     *
     * @param data 待加密数据
     * @param key  密钥
     * @param iv   向量
     * @return 加密后的数据
     */
    byte[] encrypt(byte[] data, byte[] key, byte[] iv) throws Exception;

    /**
     * 解密
     *
     * @param data 待解密数据
     * @param key  密钥
     * @param iv   向量
     * @return 解密后的数据
     */
    byte[] decrypt(byte[] data, byte[] key, byte[] iv) throws Exception;
}